package cn.qicaiwang.open.qxyApi.server;

import cn.qicaiwang.open.common.response.ResponseResult;
import cn.qicaiwang.open.qxyApi.entity.TaxTaskResult;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

public interface TaxTaskResultService {
    void saveOrUpdateTaskResult( String nsrsbh, String taskId, int requestCount, long totalTime, JSONObject responseJson, String mainStatus, String mainStatusCode,String userId,String entityName);
   //获取公司基本信息
    JSONObject taxCompanyEnterpriseInfoDtoPageResult(String id);
    //企业变更信息
    JSONObject taxCompanyEnterpriseChangeDtoPageResult(String id, Integer pageNum, Integer pageSize);
    //获取纳税信用等级
    JSONObject taxCompanyCreditLevelDtoPageResult(String id, Integer pageNum, Integer pageSize);
    //纳税信用等级明细
    JSONObject taxCompanyCreditLevelDetailList(String id, Integer pageNum, Integer pageSize);
    //企业投资方信息
    JSONObject tzfxxDtoPageResult(String id, Integer pageNum, Integer pageSize);
    //企业涉税违法违章信息
    JSONObject taxCompanyEnterpriseIllegalDtoPageResult(String id, Integer pageNum, Integer pageSize);
    //欠税信息
    JSONObject backTaxInfo(String id, Integer pageNum, Integer pageSize);
    //完税证明
    JSONObject taxCompanyPaymentListDtoPageResult(String id, Integer pageNum, Integer pageSize);
    //税款征收信息
    JSONObject paymentInfo(String id, Integer pageNum, Integer pageSize);
    //税费种认定
    JSONObject taxFeeIdentify(String id, Integer pageNum, Integer pageSize);
    //获取客户和供应商基本信息
    JSONObject getCustomerAndSupplierInfo(String id);

    //获取税务基本信息
    JSONObject getTaxBasicInfo( int year,String id);
   //财务报表
    JSONObject getFinancialReport(String id, Integer pageNum, Integer pageSize);
   //增值税和所得税报表
    JSONObject getTaxRptList(String id, Integer pageNum, Integer pageSize);


 List<TaxTaskResult>  getTaxTaskEntityNameInfo(String userId);

 List<TaxTaskResult> getTaxReportByUserAndNsrsbh(String userId, String nsrsbh);

    JSONObject getSummary(String id, Integer pageNum, Integer pageSize);

 Integer getReportCount(String userId);

 void updateReportCount(String userId, int updatedCount);
}




